home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / x11 / strategy / xpuzzles.3 / xpuzzles / xpuzzles-5.3.1 / xdino / Dino3dP.h < prev    next >
C/C++ Source or Header  |  1996-04-02  |  2KB  |  79 lines

  1. /*
  2. # X-BASED DINOSAUR CUBE
  3. #
  4. #  Dino3dP.h
  5. #
  6. ###
  7. #
  8. #  Copyright (c) 1995 - 96    David Albert Bagley, bagleyd@hertz.njit.edu
  9. #
  10. #                   All Rights Reserved
  11. #
  12. #  Permission to use, copy, modify, and distribute this software and
  13. #  its documentation for any purpose and without fee is hereby granted,
  14. #  provided that the above copyright notice appear in all copies and
  15. #  that both that copyright notice and this permission notice appear in
  16. #  supporting documentation, and that the name of the author not be
  17. #  used in advertising or publicity pertaining to distribution of the
  18. #  software without specific, written prior permission.
  19. #
  20. #  This program is distributed in the hope that it will be "playable",
  21. #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  22. #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  23. #
  24. */
  25.  
  26. /* Private header file for Dino3d */
  27.  
  28. #ifndef _Dino3dP_h
  29. #define _Dino3dP_h
  30.  
  31. #include "Dino3d.h"
  32.  
  33. #define SAME 0
  34. #define OPPOSITE 1
  35. #define DOWN 0
  36. #define UP 1
  37. #define COORD3D 12
  38. #define MAXVIEWS 2
  39. #define MAXORIENT 4
  40.  
  41. #define SQRT_3 1.732050808
  42. #define MULTIPLY(a) ((int)((double)a*SQRT_3/2.0))
  43. #define DIVIDE(a) ((int)((double)a*2.0/SQRT_3))
  44.  
  45. typedef struct _Dino3DPart
  46. {
  47.   Position cubeDiagonal, cubeDiag, diamondDiagonal, faceDiagonal;
  48.   XPoint cubeSize, diamondSize, faceSize, viewSize;
  49.   XPoint viewMiddle;
  50. } Dino3DPart;
  51.  
  52. typedef struct _Dino3DRec
  53. {
  54.   CorePart core;
  55.   DinoPart dino;
  56.   Dino3DPart dino3d;
  57. } Dino3DRec;
  58.  
  59. /* This gets around C's inability to do inheritance */
  60. typedef struct _Dino3DClassPart
  61. {
  62.   int ignore;
  63. } Dino3DClassPart;
  64.  
  65. typedef struct _Dino3DClassRec
  66. {
  67.   CoreClassPart coreClass;
  68.   DinoClassPart dinoClass;
  69.   Dino3DClassPart dino3dClass;
  70. } Dino3DClassRec;
  71.  
  72. extern Dino3DClassRec dino3dClassRec;
  73.  
  74. extern int SelectPolyhedrons3D();
  75. extern int NarrowSelection3D();
  76. extern void DrawTriangle3D();
  77.  
  78. #endif /* _Dino3dP_h */
  79.